Duplicating the methods was unnecessary. Also, we want a getWorkspacesForWindow()
method as preparation for multi-monitor work.
https://bugzilla.gnome.org/show_bug.cgi?id=594699
if (this._menu == null) {
this._menu = new WellMenu(this);
- this._menu.connect('highlight-window', Lang.bind(this, function (menu, window) {
- Main.overview.setHighlightWindow(window);
+ this._menu.connect('highlight-window', Lang.bind(this, function (menu, metaWindow) {
+ Main.overview.getWorkspacesForWindow(metaWindow).setHighlightWindow(metaWindow);
}));
this._menu.connect('popup', Lang.bind(this, function (menu, isPoppedUp) {
let id;
id = this.appInfo.get_id();
else
id = null;
- Main.overview.setApplicationWindowSelection(id);
+
+ Main.overview.getWorkspacesForWindow(null).setApplicationWindowSelection(id);
}));
}
this.show();
},
+ /**
+ * getWorkspacesForWindow:
+ * @metaWindow: A #MetaWindow
+ *
+ * Returns the Workspaces object associated with the given window.
+ * This method is not be accessible if the overview is not open
+ * and will return %null.
+ */
+ getWorkspacesForWindow: function(metaWindow) {
+ return this._workspaces;
+ },
+
/**
* activateWindow:
* @metaWindow: A #MetaWindow
this.hide();
},
- /**
- * setHighlightWindow:
- * @metaWindow: A #MetaWindow
- *
- * Draw the user's attention to the given window @metaWindow.
- */
- setHighlightWindow: function (metaWindow) {
- if (this._workspaces)
- this._workspaces.setHighlightWindow(metaWindow);
- },
-
-
- /**
- * setApplicationWindowSelection:
- * @appid: Application identifier string
- *
- * Enter a mode which shows only the windows owned by the
- * given application, and allow highlighting of a specific
- * window with setHighlightWindow().
- */
- setApplicationWindowSelection: function (appid) {
- if (this._workspaces)
- this._workspaces.setApplicationWindowSelection(appid);
- },
-
//// Private methods ////
_showDone: function() {
return -1;
},
+ /**
+ * lookupCloneForMetaWindow:
+ * @metaWindow: A #MetaWindow
+ *
+ * Given a #MetaWindow instance, find the WindowClone object
+ * which represents it in the workspaces display.
+ */
lookupCloneForMetaWindow: function (metaWindow) {
let index = this._lookupIndex (metaWindow);
return index < 0 ? null : this._windows[index];
}
},
+ /**
+ * setHighlightWindow:
+ * @metaWindow: A #MetaWindow
+ *
+ * Draw the user's attention to the given window @metaWindow.
+ */
setHighlightWindow: function (metaWindow) {
for (let i = 0; i < this._windows.length; i++) {
this._windows[i].actor.lower(this._lightbox);
}
},
- // See comments in overview.js
+ /**
+ * setApplicationWindowSelection:
+ * @appid: Application identifier string
+ *
+ * Enter a mode which shows only the windows owned by the
+ * given application, and allow highlighting of a specific
+ * window with setHighlightWindow().
+ */
setApplicationWindowSelection: function (appId) {
let appSys = Shell.AppMonitor.get_default();